﻿/**
 * Created in 2012-3-29.
 */
package kit4j.view.cs.awt.image.drawer;

import java.awt.Color;

/**
 * 在图像上绘制固定颜色、随机位置的连接线的绘制器。该绘制器确定在图像的每一块指定宽高范围内只存在一条连接线。
 * 
 * @author MiniKnife
 * 
 */
public class RandomPolylineDrawer extends RandomColorPolylineDrawer implements IDrawer {

	/**
	 * 绘制的连接线的颜色。
	 */
	private Color lineColor;

	/**
	 * 创建一个随机连接线绘制器。每一条连接线所占据区域的宽度默认为20，高度为20，每一条连接线所包含的点的数量为25。
	 * 
	 * @param lineColor
	 *            要绘制的连接线的颜色
	 */
	public RandomPolylineDrawer(Color lineColor) {
		this(20, 20, 25, lineColor);
	}

	/**
	 * 创建一个随机连接线绘制器。
	 * 
	 * @param everyLineAreaWidth
	 *            每一条连接线所占据区域的宽度
	 * @param everyLineAreaHeight
	 *            每一条连接线所占据区域的高度
	 * @param everyLinePointCount
	 *            每一条连接线所包含的点的数量
	 * @param lineColor
	 *            要绘制的连接线的颜色
	 */
	public RandomPolylineDrawer(int everyLineAreaWidth, int everyLineAreaHeight, int everyLinePointCount,
			Color lineColor) {
		super(everyLineAreaWidth, everyLineAreaHeight, everyLinePointCount);

		this.lineColor = lineColor;
	}

	/**
	 * @see kit4j.view.cs.awt.image.drawer.RandomColorPolylineDrawer#nextColor()
	 */
	@Override
	protected Color nextColor() {
		return getLineColor();
	}

	/**
	 * @return 绘制的连接线的颜色
	 */
	public Color getLineColor() {
		return lineColor;
	}

	/**
	 * 设置绘制的连接线的颜色。
	 * 
	 * @param lineColor
	 *            颜色
	 */
	public void setLineColor(Color lineColor) {
		this.lineColor = lineColor;
	}

}
